As portable computers have gained wider acceptance among casual users as well as professional users, new technologies associated with these computers and attendant applications have placed new demands on the underlying system software.
When PCs were introduced to the marketplace by IBM in 1981, IBM designed into every machine a layer of software known as Basic Input/Output System (BIOS). IBM also published the details of the interface to this layer so that it was possible for one skilled in the art of programming to develop programs that manipulated the various parts of the computer without necessarily gaining an intimate knowledge of the underlying hardware. In particular, an operating system called the disk operating system (DOS) was developed by Microsoft Corp. to interface with IBM's BIOS interface. Soon afterwards application programs were developed to run on the DOS platform. When other manufacturers entered the PC market, they provided a compatible BIOS layer for their machines such that DOS and other programs written to the IBM BIOS interface ran on their machines without modifications. The ability of DOS and DOS-hosted programs to execute correctly on a given platform defined the degree of compatibility of that platform to the IBM PC.
When the IBM PS/2 family of computers was introduced in 1987, the need for firmware capable of supporting multi-tasking operating systems such as OS/2 that operated in the protected mode of the underlying Intel processors was necessary. The PC-based BIOS firmware was intended for real mode, single tasking operating systems only. Furthermore, it could not support addressing above 1M byte. Consequently, BIOS could not adequately support OS/2 and similar operating systems.
These deficiencies led to the development of a new layer of firmware known as Advanced BIOS (ABIOS). ABIOS was designed to support OS/2 operating system in both the protected mode and in the real mode of operation of the underlying Intel processors. ABIOS was designed to reside and execute both from ROM (Read only Memory) like BIOS as well as being loaded from secondary storage and being executed from RAM (Random Access Memory).
More recent developments relating to the use of portable computers has given rise to the notion of Pen Computing. Pen Computing makes use of an electronic stylus (shaped like a pen) directly on the screen of the computer which is detected by an underlying digitizer. Pen Computing has, in turn, given rise to new user interface paradigms exemplified by the Penpoint Operating System developed by Go. Corp., 950 Tower Ln, Foster City, Calif. Being a new operating system, Penpoint places new demands on the firmware associated with a portable computer.
Unfortunately, ABIOS has many deficiencies for the new generation of Pen Computing operating systems. For example, ABIOS can not be executed in what is defined as the 32-bit protect mode environment used by Penpoint. Additionally, ABIOS did not adequately address the notions of co-existence of multiple operating system support on a given machine, the need for power management and attendant variations in operating system boot procedures, and unexpected peripheral connection and disconnection cycles during the operation of a portable computer.
Thus, what is needed is a layer of firmware which can execute in the 32-bit protected mode environment of the Penpoint operating system, be capable of supporting multiple operating systems and remain compatible with the existing BIOS firmware.